package cn.zust.itcost.service;

import cn.zust.itcost.entity.graph.node.TextNode;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface TextRelationService {
    /**
     * 从PDF文件中提取文本关系并存储到Neo4j
     * @param file PDF文件
     * @return 提取的关系数量
     */
    Map<String, Object> extractAndSaveRelations(MultipartFile file) throws IOException;
    
    /**
     * 根据PDF文件名查询所有相关的文本节点
     * @param source PDF文件名
     * @return 文本节点列表
     */
    List<TextNode> findRelationsBySource(String source);
    
    /**
     * 根据关键词搜索文本节点
     * @param keyword 关键词
     * @return 文本节点列表
     */
    List<TextNode> searchByKeyword(String keyword);
} 